class Solution:
    def peopleAwareOfSecret(self, n: int, delay: int, forget: int) -> int:
        mod = 10**9 + 7
        dp = [0 for _ in range(n+1)]
        dp[1] = 1
        for i in range(2, n+1):
            dp[i] = dp[i - 1]
            dp[i] += (dp[i - delay] % mod) if i > delay else 0
            dp[i] -= (dp[i - forget] % mod) if i > forget else 0

        return (dp[-1] - dp[n - forget]) % mod
